package com.gun.management.module.task.controller.admin.taskRewardLog.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.gun.management.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.gun.management.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 任务奖励日志信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class TaskRewardLogPageReqVO extends PageParam {

    @Schema(description = "任务id", example = "25")
    private Long taskId;


    @Schema(description = "任务类型", example = "2")
    private Long taskType;


    @Schema(description = "会员用户id", example = "286")
    private Long userId;

    /**
     * 子会员用户id
     */
    @Schema(description = "子会员用户id", example = "2801")
    private Long subUserId;

    @Schema(description = "任务名称", example = "A计划推广任务")
    @ExcelProperty("任务名称")
    private String taskName;


    @Schema(description = "任务类型id", example = "1")
    @ExcelProperty("任务类型id")
    private Integer categoryId;

    /**
     * 用户上传图片url(任务截图)
     */
    @Schema(description = "用户上传图片url(任务截图)", example = "http://****.com/images/test.png")
    private String taskScreenshot;

    @Schema(description = "奖励积分", example = "10")
    private Integer rewardScore;

    @Schema(description = "奖励时间", example = "2024-10-29")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] rewardTime;

    /**
     * 每天奖励次数
     */
    @Schema(description = "每天奖励次数", example = "2")
    private Integer dayRewardTimes;
    /**
     * 累计最多奖励次数
     */
    @Schema(description = "累计最多奖励次数", example = "1000")
    private Integer maxRewardTimes;



    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;



    @Schema(description = "用户名称", example = "用户123")
    @ExcelProperty("用户名称")
    private String userName;

}